#ifndef FRAMEWORK
#define FRAMEWORK

//#define VERSION 0.1
// TODO remove texture here
//texture<int2, 2, cudaReadModeElementType> ellDataTex;
//texture<int, 1, cudaReadModeElementType> ellRowLenTex;

#define BLOCKSIZE 256
//#define IMUL(a, b) __mul24(a, b)

#if 1
#define CUERR { cudaError_t err; \
					if ((err = cudaGetLastError()) != cudaSuccess) { \
						printf("CUDA error: %s, %s line %d\n", cudaGetErrorString(err), __FILE__, __LINE__); \
						printf("Thread aborting...\n"); \
						exit(1); }	\
				}
#else
#define CUERR  
#endif

//#ifdef __DEVICE_EMULATION__
//#define SYNC __syncthreads()
//#else
//#define SYNC 
//#endif

#define INFTY  __int_as_float(0x7f000000)
#define NINFTY __int_as_float(0xff000000)


#endif
